#include <iostream>
#include <vector>
#include <string>

size_t split(const std::string &str,const std::string &sep,std::vector<std::string> *result)
{
    size_t pos,idx = 0;
    while(idx < str.size())
    {
        pos = str.find(sep,idx);
        if(pos == std::string::npos){
            result->push_back(str.substr(idx));
            return result->size();
        }

        if(pos == idx){
            idx = pos + sep.size();
            continue;
        }
        result->push_back(str.substr(idx,pos - idx));
        idx = pos + sep.size();
    }

    return result->size();
}

int main()
{
    std::string str = "...news.....music..#.pop...";
    std::vector<std::string> result;
    split(str,".",&result);

    for(auto &str:result){
        std::cout << str << "\n";
    }
    return 0;
}